package com.huayi.datagovernance.dto;

import lombok.Data;

import javax.validation.constraints.Digits;
import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * 设备的信息dto
 */
@Data
public class DeviceCreateDto{
    private static final long serialVersionUID = 2399570383232671914L;

    private String sbmc;// 设备名称

//    @NotNull(message = "设备点类型geotype不允许为空（2001:POINT/2002:LINESTRING/2003:POLYGON）")
    private String geotype;//设备（点线面？）

    @NotNull(message = "sbzlx设备子类型不允许为空")
    private int sbzlx;// sbzlx

    @NotNull(message = "zwtype设备类型不允许为空")
    private int zwtype;//

//    @NotBlank(message = "操作类型不允许为空")
    private int addflag;// 操作类型:1.新增，2.编辑，3.删除

    @NotNull(message = "versionid不允许为空")
    private String versionid;//版本号

//    @NotNull(message = "points坐标点不允许为空")
    private List<Point> points;// 查询的坐标点

    private int[] faceLength;// 每个面的点个数

//    @NotNull(message = "前端使用的坐标系csys不为空，默认3")
//    private String csys;// 前端使用的坐标系（1.天地图：2000国家大地坐标系，2.百度地图：bd09II坐标，3.高德地图：gcj02坐标, 4.思极地图）

    @NotNull(message = "scale比例尺不允许为空")
    private int scale;// 比例尺

    private String oid;// oid

    private int fhid = -1;// 符号id

    private double fhjd  = -1;// 符号角度

    private double fhdx = -1;// 符号大小

    private double fhys = -1;// 符号颜色

    private double sfbz = -1;// 是否标注

    private double bzdx = -1;// 标注大小

    private double bzys = -1;// 标注颜色

    private double bzfw = -1;// 标注方位

    private double plfs = -1;// 排列方式

    private double dhzs = -1;// 单行字数

    private String bzxszd;// 标注显示字段

    private String bznr;// 标注内容

    private double x = -1;// X偏移

    private double y = -1;// Y偏移

    private double sfyc = -1;// 是否隐藏

    private Integer zyid;// 资源id

    private String state_id;// 状态id

    private String yxdw; //运行单位
    private String ssds; //所属地市

    @Digits(integer = 6,fraction = 2,message ="所属责任区sszrq是数字" )
    private String sszrq; //所属责任区
    private String sbid; //设备ID
    @Digits(integer = 6,fraction = 2,message ="系统类型apptype是数字" )
    @NotNull(message = "系统类型apptype不允许为空")
    private String apptype; //系统类型

    @Digits(integer = 6,fraction = 2,message ="电压等级dydj是数字" )
    @NotNull(message = "电压等级dydj不允许为空")
    private String dydj; //电压等级

    private String ssxl;//所属线路（低压 运行杆/导线段/导线）
    private String ssxlName;
    private String yxbh;//运行编号(低压 导线段/导线)

    private String ssdx;//所属导线（低压 运行杆/导线段）
    private String sstqlx;//所属台区类型（低压 物理杆/运行杆/导线段/导线）
    private String sstq;//所属台区（低压 物理杆/运行杆/导线段/导线）
    private String qsgt;//起始杆塔(低压 导线段/导线)
    private String zzgt;//终止杆塔(低压 导线段/导线)

    //低压物理杆
    private String gtcz;//杆塔材质（低压物理杆）
    private String gtxz;//杆塔形状（低压物理杆）

    //低压运行杆
    private String sswlg;//所属物理杆（低压运行杆）
    private String sswlgzlx;//所属物理杆子类型（低压运行杆）
    private String ssdxd;//所属导线段（低压运行杆）

    //低压导线
    private String qsgtlx;//起始设备类型(低压导线)
    private String zzgtlx;//终止设备类型(低压导线)

    //台账
    DeviceSBCreateDto deviceSB;//底下台账部分

    private String tqsbid;

    private String proOid;//问题id
    private String proGdoid;//问题的versionid相关

    private int classid;

    private String ywdw;//运维单位(低压物理杆/运行杆塔/导线)
    private String whbz;//维护班组(低压物理杆/运行杆塔/导线)

    private String ssgt;//所属杆塔（变压器）
    private String ssdl;//所属电缆

    private String sjsb;// 上级设备
}
